package com.wicket.okrcomponent.integration.dto;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QuerySchemeClassMatchEvaTempAnswerDetailComRespDto
 * @使用场景
 */
@Data
public class QuerySchemeClassMatchEvaTempAnswerDetailComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 配置方案ID
   */
  @ApiModelProperty("配置方案ID ")
  private String confSchemeId;

  /**
   * 周期模式 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
   */
  @ApiModelProperty("周期模式")
  private String cycleMode;

  /**
   * 周期体系类型标识 YEAR:自然年 SCHOOL_YEAR:学年
   */
  @ApiModelProperty("周期体系类型标识")
  private String cycleSystemCode;

  /**
   * 是否开启中期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启中期")
  private String openMidCycle;

  /**
   * 周期类型
   */
  @ApiModelProperty("周期类型")
  private String cycleType;

  /**
   * 父周期周期类型
   */
  @ApiModelProperty("父周期周期类型")
  private String fatherCycleType;

  /**
   * 父周期子周期数量
   */
  @ApiModelProperty("父周期子周期数量")
  private Long fatherSubcycleQuantity;

  /**
   * 中期周期类型
   */
  @ApiModelProperty("中期周期类型")
  private String midCycleType;

  /**
   * 中期子周期数量
   */
  @ApiModelProperty("中期子周期数量")
  private Long midSubcycleQuantity;

  /**
   * 子周期周期类型
   */
  @ApiModelProperty("子周期周期类型")
  private String subcycleType;

  /**
   * 单周期周期类型
   */
  @ApiModelProperty("单周期周期类型")
  private String monocycleCycleType;

  /**
   * 不规则周期类型
   */
  @ApiModelProperty("不规则周期类型")
  private String irregularCycleType;

  /**
   * 冗余评价模板类型
   */
  @ApiModelProperty("冗余评价模板类型")
  private String evaluationTemplateTypeCode;

  /**
   * 冗余目标规划模板子类型
   */
  @ApiModelProperty("冗余目标规划模板子类型")
  private String targetPlanTempSubtype;

  /**
   * 规划类型 GENERAL_PLANNING:常规规划 THEMATIC_PLANNING:专题规划
   */
  @ApiModelProperty("规划类型")
  private String planningType;

  /**
   * 是否开启评价工作 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启评价工作")
  private String isOpenEvaWork;

  /**
   * 五年周期配置标识
   */
  @ApiModelProperty("五年周期配置标识")
  private String fiveYear;

  /**
   * 三年周期配置标识
   */
  @ApiModelProperty("三年周期配置标识")
  private String threeYear;

  /**
   * 年周期配置标识
   */
  @ApiModelProperty("年周期配置标识")
  private String year;

  /**
   * 半年周期配置标识
   */
  @ApiModelProperty("半年周期配置标识")
  private String halfYear;

  /**
   * 季度周期配置标识
   */
  @ApiModelProperty("季度周期配置标识")
  private String quarter;

  /**
   * 双月周期配置标识
   */
  @ApiModelProperty("双月周期配置标识")
  private String doubleMonths;

  /**
   * 月周期配置标识
   */
  @ApiModelProperty("月周期配置标识")
  private String month;

  /**
   * 开启创建业务应用标识
   */
  @ApiModelProperty("开启创建业务应用标识")
  private String openCreateBizAppCode;

  /**
   * 是否开启规划方案类别 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启规划方案类别")
  private String isOpenPlanSchemeClass;

  /**
   * 是否开启填报工作 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启填报工作")
  private String isOpenFillWork;

  /**
   * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
   */
  @ApiModelProperty("规划方案类别")
  private String planSchemeClass;

  /**
   * 时段计算参照时间
   */
  @ApiModelProperty("时段计算参照时间")
  private Long timeCountReferTime;

  /**
   * 时段规则设置级别 EVA_TEMP_LEVEL:评价模板级 CYCLE_TYPE_LEVEL:周期类型级 UNLIMITED:不限
   */
  @ApiModelProperty("时段规则设置级别")
  private String timeRulesSetLevel;

  /**
   * 填报时段规则标识
   */
  @ApiModelProperty("填报时段规则标识")
  private String fillTimeRulesCode;

  /**
   * 评价时段规则标识
   */
  @ApiModelProperty("评价时段规则标识")
  private String evaTimeRulesCode;

  /**
   * 资料使用对象类型编码 TOTAL_CYCLE:总周期 FULL_CYCLE:全周期
   */
  @ApiModelProperty("资料使用对象类型编码")
  private String useObjectTypeCode;

  /**
   * OKR类型 OKR_FREE:不含OKR型 PURE_OKR:纯OKR型 MIXED:混合型
   */
  @ApiModelProperty("OKR类型")
  private String okrType;

  /**
   * 冗余业务场景标识
   */
  @ApiModelProperty("冗余业务场景标识")
  private String bizSceneCode;

  /**
   * 冗余评价主题类型
   */
  @ApiModelProperty("冗余评价主题类型")
  private String evaluationSubjectTypeCode;

  /**
   * 冗余开启OKR场景
   */
  @ApiModelProperty("冗余开启OKR场景")
  private String isOkrPlanScene;

  /**
   * 得分小数点规则
   */
  @ApiModelProperty("得分小数点规则")
  private Long scoreDecimalPoint;

  /**
   * 达成度小数点规则
   */
  @ApiModelProperty("达成度小数点规则")
  private Long degreeDecimalPoint;

  /**
   * 进度小数点规则
   */
  @ApiModelProperty("进度小数点规则")
  private Long progressDecimalPoint;

  /**
   * 小数点规则
   */
  @ApiModelProperty("小数点规则")
  private Long decimalPointRules;

  /**
   * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
   */
  @ApiModelProperty("小数最后一位规则")
  private String decimalDigitsLastRules;

  /**
   * 是否过程主观评分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否过程主观评分")
  private String isOpenCourseSubjectiveScore;

  /**
   * 人工考核批次下是否可自定义时段 TRUE:是 FALSE:否
   */
  @ApiModelProperty("人工考核批次下是否可自定义时段")
  private String isCustomTimeRules;

  /**
   * 系统对接计算类型
   */
  @ApiModelProperty("系统对接计算类型")
  private String dockCalculateType;

  /**
   * 主观评分满分值
   */
  @ApiModelProperty("主观评分满分值")
  private Long subjectiveRatingTotalValue;

  /**
   * 主观评分满分值单位
   */
  @ApiModelProperty("主观评分满分值单位")
  private String subjectiveRatingTotalValueUnit;

  /**
   * 目标总分值
   */
  @ApiModelProperty("目标总分值")
  private Long targetFullTotalValue;

  /**
   * 目标任务书总分值
   */
  @ApiModelProperty("目标任务书总分值")
  private Long targetTaskFullTotalValue;

  /**
   * OKR目标总分值
   */
  @ApiModelProperty("OKR目标总分值")
  private Long okrFullTotalValue;

  /**
   * 目标满分制单位
   */
  @ApiModelProperty("目标满分制单位")
  private String targetFullMarkUnit;

  /**
   * 权重分小数点规则
   */
  @ApiModelProperty("权重分小数点规则   ")
  private String weightDecimalPoint;

  /**
   * 权重小数点规则
   */
  @ApiModelProperty("权重小数点规则")
  private String weightPoint;

  /**
   * 预算层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务 LAST_CON_TASK_BUDGET:末级建设任务 ONE_LEVEL_OBSERVATION_POINT_BUDGET:一级观测点预算 LAST_LEVEL_OBSERVATION_POINT_BUDGET:末级观测点预算
   */
  @ApiModelProperty("预算层级")
  private String budgetHierarchy;

  /**
   * 是否启用预算 TRUE:是 FALSE:否
   */
  @ApiModelProperty(" 是否启用预算")
  private String isOpenBudget;

  /**
   * 增降幅小数点规则
   */
  @ApiModelProperty("增降幅小数点规则")
  private String increasesDropDecimalPoint;

  /**
   * 是否开启工作组
   */
  @ApiModelProperty("是否开启工作组")
  private String isOpenWorkGroup;

  /**
   * 工作组名称
   */
  @ApiModelProperty("工作组名称")
  private String workGroupName;

  /**
   * 主观得分小数点规则
   */
  @ApiModelProperty("主观得分小数点规则")
  private Long subjectiveScorePoint;

}
